<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

</head>

<body>
<a href="js_bom.html">跳转</a>
<button onclick="fn()">按钮</button>
<button onclick="fn1()">按钮1</button>

</body>
<script type="text/javascript">
    // alert("123")
    //confirm：消息确认框，当用户进行不可逆、且影响数据的操作，进行用户确认
    // 此弹窗有返回值，当用户点击“确定”时，返回true
    // var v = window.confirm("请问你确定删除这个信息吗？");
    //prompt：用户交互输入框，参数1(弹框问题提示信息)，参数2(输入框默认值)
    // 此弹窗有返回值，如果点击确定返回值为输入框中的值，点击取消返回值为null
    var v= window.prompt("请输入你的出生年份:","2024");
    console.log(v)


    console.log(window.name)
    var status = window.status
    console.log(status)
    //获取当前窗口是否关闭
    var s = window.closed;
    console.log(s)
    //innerWidth: 获取浏览器的内部宽度 (IE8及以下版本不支持当前属性)
    //innerHeight：获取浏览器的内部高度 (IE8及以下版本不支持当前属性)
    var w = window.innerWidth;
    var h = window.innerHeight;
    console.log(w)
    console.log(h)
    //outerWidth: 获取浏览器的外部宽度 (IE8及以下版本不支持当前属性)
    //outerHeight：获取浏览器的外部高度 (IE8及以下版本不支持当前属性)
    var ow = window.outerWidth;
    var oh = window.outerHeight;
    console.log(ow)
    console.log(oh)



    //获取BOM对象属性
    // var v = window.navigator;
    // var s = window.screen;
    // var l = window.location;
    // var h = window.history;
    // var d = window.document;
    // console.log(v)
    // console.log(s)
    // console.log(l)
    // console.log(h)
    // console.log(d)

    // var url = "http://www.baidu.com/s?wd=哈哈";
    // console.log(encodeURI(url))
    // console.log(decodeURI(encodeURI(url)))
    //
    // console.log(escape(url))
    // var jsonStr = '{"stuNum":"1001","stuName":"张三"}';
    // console.log(JSON.parse(jsonStr))
    // //eval:将满足JSON格式的字符串转换成JS对象
    // var stu = eval("("+jsonStr+")");
    // console.log(stu)

    // var date = new Date();
    //
    // console.log(date)
    // // get* : 从当前日期对象中获取 时间成分 （年月日时分秒毫秒星期）
    // var year = date.getYear()+1900; //获取年份，相对于1900年的偏移年份
    // var year2 = date.getFullYear(); //获取公元纪年年份
    // var month = date.getMonth()+1; //获取月份0-11
    // var d = date.getDate(); //获取日期
    // var hour = date.getHours(); //获取小时
    // var min = date.getMinutes(); //获取分钟
    // var sec = date.getSeconds(); //获取秒
    // var ms = date.getMilliseconds();//获取毫秒
    // var day = date.getDay(); //获取星期
    // var timeStr = year2+"年"+month+"月"+d+"日 "+hour+":"+min+":"+sec+" "+ms+" 星期"+day;
    // console.log(timeStr);



    // var arr = [1,2,3,4]
    // arr.reverse();
    // var s = arr.join("-");
    // console.log(s)
    // console.log(arr)
    // console.log(arr.slice(0,2))


    // 0-10  2-10
    // console.log(Math.round(Math.random()*8+2))
    //1.常量属性
    // var e = Math.E;// 一个数学常数，其近似值等于2.718
    // var pi = Math.PI;
    // console.log(e)
    // console.log(pi)
    // //2.“静态”数学函数
    // //random : 随机产生一个[0,1)小数
    // var num = Math.random()*10;
    // console.log(num)
    // //round : 对参数进行四舍五入得到一个整数
    // var i = Math.round(num); //0-10 y-x整数: Math.round(Math.random()*(x-y))+y
    // console.log(i)
    // //floor：只舍不入，获取比参数小的最大整数
    // var j = Math.floor(num); //0-9
    // console.log(j)
    // //ceil: 只入不舍，获取大于等于参数的最小整数
    // var k = Math.ceil(num);
    // console.log(k)
    // // abs : 获取参数的绝对值
    // var m = Math.abs(-5);
    // console.log(m)
    // //sqrt : 获取参数的平方根
    // var n = Math.sqrt(9);
    // console.log(n);


    /*//1.创建String对象
    var str1 = "www.xju.edu.cn";
    var str2 = new String("www.taobao.com");
    //2.属性
    // length属性获取当前字符串的长度
    var len = str1.length;
    console.log(len)
    //3.常用函数
    // charAt : 获取str1中索引为3的字符（索引从0开始）
    var c = str1.charAt(3);
    console.log(c)
    // indexOf: 获取str1中第一次出现"edu"的索引
    var i = str1.indexOf("edu");
    console.log(i)
    // lastIndexOf: 获取str2中最后一个“o”的索引
    var j = str2.lastIndexOf("o");
    console.log(j)
    // split :分隔字符串，将str1用"."分隔成多个字符串，存放到arr中
    var arr = str1.split(".");
    console.log(arr)
    // substring : 从str1字符串索引为4的位置开始截取，直到str1结束
    var s1 = str1.substring(4);
    console.log(s1)
    // 从str1字符串索引为4的位置开始截取(包含)，直到索引为9的位置(不包含)
    var s2 = str1.substring(4, 9);
    console.log(s2)
    //substr:从str1字符串索引为4的位置开始截取(包含),一共截取5个字符
    var s3 = str1.substr(4, 5);
    console.log(s3)
    // toUpperCase : 将str2所有字母都转大写
    var s4 = str2.toUpperCase();
    console.log(s4)
    //toLowerCase : 将str2所有字母都转小写
    var s5 = str2.toLowerCase();
    console.log(s5)
    //match : 判断str3字符串的格式是否匹配reg的规则，如果不匹配则返回值为null
    var str3 = "1303030330"; //假设str3是用户在页面输入的手机号
    var reg = "^1[3,5,7,8]\\d{9}$"; //手机号码的规则（正则表达式）
    var b = str3.match(reg);

    console.log(b);

    var regExp = new RegExp("^1[3,5,7,8]\\d{9}$");
    var b1 = regExp.test(str3);
    console.log(b1) //true  false
*/

    //函数
    function fn() {
        // 关闭窗口
        window.close()

        // var obj = new Object();
        // obj.name = "lisi"
        // obj.age = 18
        // obj.foods = [1,2,3,4]
        // obj.eat = function () {
        //     for (s in this.foods) {
        //         console.log(this.foods[s])
        //     }
        //     for (var i = 0; i < this.foods.length; i++) {
        //         console.log(this.foods[i])
        //     }
        // };

        var obj = {
            name: "lisi",
            age: 18,
            foods: [1, 2, 3, 4],
            // eat: function () {
            //     for (s in this.foods) {
            //         console.log(this.foods[s])
            //     }
            //     for (var i = 0; i < this.foods.length; i++) {
            //         console.log(this.foods[i])
            //     }
            // },
        }
        // console.log(obj)
        // console.log(JSON.stringify(obj))
        // // {"name":"lisi","age":18,"foods":[1,2,3,4]}
        // console.log(JSON.parse(JSON.stringify(obj)))
        
        // console.log(obj.name)
        // obj.eat();

        // try {
        //     console.log("----try");
        //     var m = 10
        //     var n = 5
        //     if (n!=0) {
        //         var k = m / n;
        //         console.log(k)
        //     } else {
        //         throw "n的值不能为0"
        //     }
        // } catch (e){
        //     console.log("e:"+e)
        // }finally {
        //     console.log("----finally")
        // }


        // alert("弹框")

        /*        var i = 5;
                i = "hello";
                // var s = "abc";
                var j = '5';
                var a
                var s = "My name is 'li'";
                var k = 10e5; //科学计数法
                // 数组
                var arr = [1,2,3]
                var array = new Array();
                array[0] =1
                array[1] =2
                var array1 = new Array(2,3);

                // 对象
                var obj = {
                    name: "lisi",
                    age: 18
                }
                var aa = 1%0
                var a1 = 1
                var a2 = '1'
                console.log('abc' && null); // null
                console.log(null && 'abc'); // null
                console.log(null && undefined); // null
                console.log(undefined && null); // undefined
                console.log(true || false); // true
                console.log(NaN || 1); // 1
                console.log('abc' || 123); // ‘abc’
                console.log(0 || ''); // ''
                console.log(i); //
                console.log(j + 1); //6  51
                console.log(a1==a2) // true false

                // 打印
                // console.log("控制台打印")
                // console.info("控制台打印")
                var n = 1;
                switch(n){
                    case 1:
                        console.log("春天");
                        break;
                    case 2:
                        console.log("夏天");
                        break;
                    case 3:
                        console.log("秋天");
                        break;
                    case 4:
                        console.log("冬天");
                        break;
                    default:
                        console.log("未知季节");
                }
                for (s in obj) {
        // 根据对象属性名，从对象中获取属性值
                    console.log(s+":"+obj[s])
                }
                for (a in arr) {
                    console.log(a+":"+arr[a])
                }*/
    }

    var fn1 = function () {
        alert("弹框1")
    };
</script>
<!--引入-->
<!--<script type="text/javascript" src="../static/js.js"></script>-->
</html>